package com.suyuan.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ProductInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ProductInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andProductidIsNull() {
            addCriterion("ProductID is null");
            return (Criteria) this;
        }

        public Criteria andProductidIsNotNull() {
            addCriterion("ProductID is not null");
            return (Criteria) this;
        }

        public Criteria andProductidEqualTo(Integer value) {
            addCriterion("ProductID =", value, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidNotEqualTo(Integer value) {
            addCriterion("ProductID <>", value, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidGreaterThan(Integer value) {
            addCriterion("ProductID >", value, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidGreaterThanOrEqualTo(Integer value) {
            addCriterion("ProductID >=", value, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidLessThan(Integer value) {
            addCriterion("ProductID <", value, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidLessThanOrEqualTo(Integer value) {
            addCriterion("ProductID <=", value, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidIn(List<Integer> values) {
            addCriterion("ProductID in", values, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidNotIn(List<Integer> values) {
            addCriterion("ProductID not in", values, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidBetween(Integer value1, Integer value2) {
            addCriterion("ProductID between", value1, value2, "productid");
            return (Criteria) this;
        }

        public Criteria andProductidNotBetween(Integer value1, Integer value2) {
            addCriterion("ProductID not between", value1, value2, "productid");
            return (Criteria) this;
        }

        public Criteria andTracecodeIsNull() {
            addCriterion("TraceCode is null");
            return (Criteria) this;
        }

        public Criteria andTracecodeIsNotNull() {
            addCriterion("TraceCode is not null");
            return (Criteria) this;
        }

        public Criteria andTracecodeEqualTo(String value) {
            addCriterion("TraceCode =", value, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeNotEqualTo(String value) {
            addCriterion("TraceCode <>", value, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeGreaterThan(String value) {
            addCriterion("TraceCode >", value, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeGreaterThanOrEqualTo(String value) {
            addCriterion("TraceCode >=", value, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeLessThan(String value) {
            addCriterion("TraceCode <", value, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeLessThanOrEqualTo(String value) {
            addCriterion("TraceCode <=", value, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeLike(String value) {
            addCriterion("TraceCode like", value, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeNotLike(String value) {
            addCriterion("TraceCode not like", value, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeIn(List<String> values) {
            addCriterion("TraceCode in", values, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeNotIn(List<String> values) {
            addCriterion("TraceCode not in", values, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeBetween(String value1, String value2) {
            addCriterion("TraceCode between", value1, value2, "tracecode");
            return (Criteria) this;
        }

        public Criteria andTracecodeNotBetween(String value1, String value2) {
            addCriterion("TraceCode not between", value1, value2, "tracecode");
            return (Criteria) this;
        }

        public Criteria andAnimalidIsNull() {
            addCriterion("AnimalID is null");
            return (Criteria) this;
        }

        public Criteria andAnimalidIsNotNull() {
            addCriterion("AnimalID is not null");
            return (Criteria) this;
        }

        public Criteria andAnimalidEqualTo(Integer value) {
            addCriterion("AnimalID =", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidNotEqualTo(Integer value) {
            addCriterion("AnimalID <>", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidGreaterThan(Integer value) {
            addCriterion("AnimalID >", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidGreaterThanOrEqualTo(Integer value) {
            addCriterion("AnimalID >=", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidLessThan(Integer value) {
            addCriterion("AnimalID <", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidLessThanOrEqualTo(Integer value) {
            addCriterion("AnimalID <=", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidIn(List<Integer> values) {
            addCriterion("AnimalID in", values, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidNotIn(List<Integer> values) {
            addCriterion("AnimalID not in", values, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidBetween(Integer value1, Integer value2) {
            addCriterion("AnimalID between", value1, value2, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidNotBetween(Integer value1, Integer value2) {
            addCriterion("AnimalID not between", value1, value2, "animalid");
            return (Criteria) this;
        }

        public Criteria andCompidIsNull() {
            addCriterion("CompID is null");
            return (Criteria) this;
        }

        public Criteria andCompidIsNotNull() {
            addCriterion("CompID is not null");
            return (Criteria) this;
        }

        public Criteria andCompidEqualTo(Integer value) {
            addCriterion("CompID =", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidNotEqualTo(Integer value) {
            addCriterion("CompID <>", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidGreaterThan(Integer value) {
            addCriterion("CompID >", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidGreaterThanOrEqualTo(Integer value) {
            addCriterion("CompID >=", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidLessThan(Integer value) {
            addCriterion("CompID <", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidLessThanOrEqualTo(Integer value) {
            addCriterion("CompID <=", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidIn(List<Integer> values) {
            addCriterion("CompID in", values, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidNotIn(List<Integer> values) {
            addCriterion("CompID not in", values, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidBetween(Integer value1, Integer value2) {
            addCriterion("CompID between", value1, value2, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidNotBetween(Integer value1, Integer value2) {
            addCriterion("CompID not between", value1, value2, "compid");
            return (Criteria) this;
        }

        public Criteria andTypeidIsNull() {
            addCriterion("TypeID is null");
            return (Criteria) this;
        }

        public Criteria andTypeidIsNotNull() {
            addCriterion("TypeID is not null");
            return (Criteria) this;
        }

        public Criteria andTypeidEqualTo(Integer value) {
            addCriterion("TypeID =", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotEqualTo(Integer value) {
            addCriterion("TypeID <>", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidGreaterThan(Integer value) {
            addCriterion("TypeID >", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("TypeID >=", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidLessThan(Integer value) {
            addCriterion("TypeID <", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidLessThanOrEqualTo(Integer value) {
            addCriterion("TypeID <=", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidIn(List<Integer> values) {
            addCriterion("TypeID in", values, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotIn(List<Integer> values) {
            addCriterion("TypeID not in", values, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidBetween(Integer value1, Integer value2) {
            addCriterion("TypeID between", value1, value2, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotBetween(Integer value1, Integer value2) {
            addCriterion("TypeID not between", value1, value2, "typeid");
            return (Criteria) this;
        }

        public Criteria andProcesstimeIsNull() {
            addCriterion("ProcessTime is null");
            return (Criteria) this;
        }

        public Criteria andProcesstimeIsNotNull() {
            addCriterion("ProcessTime is not null");
            return (Criteria) this;
        }

        public Criteria andProcesstimeEqualTo(Date value) {
            addCriterion("ProcessTime =", value, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeNotEqualTo(Date value) {
            addCriterion("ProcessTime <>", value, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeGreaterThan(Date value) {
            addCriterion("ProcessTime >", value, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ProcessTime >=", value, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeLessThan(Date value) {
            addCriterion("ProcessTime <", value, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeLessThanOrEqualTo(Date value) {
            addCriterion("ProcessTime <=", value, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeIn(List<Date> values) {
            addCriterion("ProcessTime in", values, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeNotIn(List<Date> values) {
            addCriterion("ProcessTime not in", values, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeBetween(Date value1, Date value2) {
            addCriterion("ProcessTime between", value1, value2, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcesstimeNotBetween(Date value1, Date value2) {
            addCriterion("ProcessTime not between", value1, value2, "processtime");
            return (Criteria) this;
        }

        public Criteria andProcessercodeIsNull() {
            addCriterion("ProcesserCode is null");
            return (Criteria) this;
        }

        public Criteria andProcessercodeIsNotNull() {
            addCriterion("ProcesserCode is not null");
            return (Criteria) this;
        }

        public Criteria andProcessercodeEqualTo(Integer value) {
            addCriterion("ProcesserCode =", value, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeNotEqualTo(Integer value) {
            addCriterion("ProcesserCode <>", value, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeGreaterThan(Integer value) {
            addCriterion("ProcesserCode >", value, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeGreaterThanOrEqualTo(Integer value) {
            addCriterion("ProcesserCode >=", value, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeLessThan(Integer value) {
            addCriterion("ProcesserCode <", value, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeLessThanOrEqualTo(Integer value) {
            addCriterion("ProcesserCode <=", value, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeIn(List<Integer> values) {
            addCriterion("ProcesserCode in", values, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeNotIn(List<Integer> values) {
            addCriterion("ProcesserCode not in", values, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeBetween(Integer value1, Integer value2) {
            addCriterion("ProcesserCode between", value1, value2, "processercode");
            return (Criteria) this;
        }

        public Criteria andProcessercodeNotBetween(Integer value1, Integer value2) {
            addCriterion("ProcesserCode not between", value1, value2, "processercode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeIsNull() {
            addCriterion("InspectResultCode is null");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeIsNotNull() {
            addCriterion("InspectResultCode is not null");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeEqualTo(Integer value) {
            addCriterion("InspectResultCode =", value, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeNotEqualTo(Integer value) {
            addCriterion("InspectResultCode <>", value, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeGreaterThan(Integer value) {
            addCriterion("InspectResultCode >", value, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeGreaterThanOrEqualTo(Integer value) {
            addCriterion("InspectResultCode >=", value, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeLessThan(Integer value) {
            addCriterion("InspectResultCode <", value, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeLessThanOrEqualTo(Integer value) {
            addCriterion("InspectResultCode <=", value, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeIn(List<Integer> values) {
            addCriterion("InspectResultCode in", values, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeNotIn(List<Integer> values) {
            addCriterion("InspectResultCode not in", values, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeBetween(Integer value1, Integer value2) {
            addCriterion("InspectResultCode between", value1, value2, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultcodeNotBetween(Integer value1, Integer value2) {
            addCriterion("InspectResultCode not between", value1, value2, "inspectresultcode");
            return (Criteria) this;
        }

        public Criteria andInspectresultIsNull() {
            addCriterion("InspectResult is null");
            return (Criteria) this;
        }

        public Criteria andInspectresultIsNotNull() {
            addCriterion("InspectResult is not null");
            return (Criteria) this;
        }

        public Criteria andInspectresultEqualTo(String value) {
            addCriterion("InspectResult =", value, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultNotEqualTo(String value) {
            addCriterion("InspectResult <>", value, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultGreaterThan(String value) {
            addCriterion("InspectResult >", value, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultGreaterThanOrEqualTo(String value) {
            addCriterion("InspectResult >=", value, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultLessThan(String value) {
            addCriterion("InspectResult <", value, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultLessThanOrEqualTo(String value) {
            addCriterion("InspectResult <=", value, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultLike(String value) {
            addCriterion("InspectResult like", value, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultNotLike(String value) {
            addCriterion("InspectResult not like", value, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultIn(List<String> values) {
            addCriterion("InspectResult in", values, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultNotIn(List<String> values) {
            addCriterion("InspectResult not in", values, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultBetween(String value1, String value2) {
            addCriterion("InspectResult between", value1, value2, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspectresultNotBetween(String value1, String value2) {
            addCriterion("InspectResult not between", value1, value2, "inspectresult");
            return (Criteria) this;
        }

        public Criteria andInspecttimeIsNull() {
            addCriterion("InspectTime is null");
            return (Criteria) this;
        }

        public Criteria andInspecttimeIsNotNull() {
            addCriterion("InspectTime is not null");
            return (Criteria) this;
        }

        public Criteria andInspecttimeEqualTo(Date value) {
            addCriterion("InspectTime =", value, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeNotEqualTo(Date value) {
            addCriterion("InspectTime <>", value, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeGreaterThan(Date value) {
            addCriterion("InspectTime >", value, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeGreaterThanOrEqualTo(Date value) {
            addCriterion("InspectTime >=", value, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeLessThan(Date value) {
            addCriterion("InspectTime <", value, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeLessThanOrEqualTo(Date value) {
            addCriterion("InspectTime <=", value, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeIn(List<Date> values) {
            addCriterion("InspectTime in", values, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeNotIn(List<Date> values) {
            addCriterion("InspectTime not in", values, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeBetween(Date value1, Date value2) {
            addCriterion("InspectTime between", value1, value2, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspecttimeNotBetween(Date value1, Date value2) {
            addCriterion("InspectTime not between", value1, value2, "inspecttime");
            return (Criteria) this;
        }

        public Criteria andInspectercodeIsNull() {
            addCriterion("InspecterCode is null");
            return (Criteria) this;
        }

        public Criteria andInspectercodeIsNotNull() {
            addCriterion("InspecterCode is not null");
            return (Criteria) this;
        }

        public Criteria andInspectercodeEqualTo(String value) {
            addCriterion("InspecterCode =", value, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeNotEqualTo(String value) {
            addCriterion("InspecterCode <>", value, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeGreaterThan(String value) {
            addCriterion("InspecterCode >", value, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeGreaterThanOrEqualTo(String value) {
            addCriterion("InspecterCode >=", value, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeLessThan(String value) {
            addCriterion("InspecterCode <", value, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeLessThanOrEqualTo(String value) {
            addCriterion("InspecterCode <=", value, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeLike(String value) {
            addCriterion("InspecterCode like", value, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeNotLike(String value) {
            addCriterion("InspecterCode not like", value, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeIn(List<String> values) {
            addCriterion("InspecterCode in", values, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeNotIn(List<String> values) {
            addCriterion("InspecterCode not in", values, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeBetween(String value1, String value2) {
            addCriterion("InspecterCode between", value1, value2, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andInspectercodeNotBetween(String value1, String value2) {
            addCriterion("InspecterCode not between", value1, value2, "inspectercode");
            return (Criteria) this;
        }

        public Criteria andSaleridIsNull() {
            addCriterion("SalerID is null");
            return (Criteria) this;
        }

        public Criteria andSaleridIsNotNull() {
            addCriterion("SalerID is not null");
            return (Criteria) this;
        }

        public Criteria andSaleridEqualTo(Integer value) {
            addCriterion("SalerID =", value, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridNotEqualTo(Integer value) {
            addCriterion("SalerID <>", value, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridGreaterThan(Integer value) {
            addCriterion("SalerID >", value, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridGreaterThanOrEqualTo(Integer value) {
            addCriterion("SalerID >=", value, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridLessThan(Integer value) {
            addCriterion("SalerID <", value, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridLessThanOrEqualTo(Integer value) {
            addCriterion("SalerID <=", value, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridIn(List<Integer> values) {
            addCriterion("SalerID in", values, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridNotIn(List<Integer> values) {
            addCriterion("SalerID not in", values, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridBetween(Integer value1, Integer value2) {
            addCriterion("SalerID between", value1, value2, "salerid");
            return (Criteria) this;
        }

        public Criteria andSaleridNotBetween(Integer value1, Integer value2) {
            addCriterion("SalerID not between", value1, value2, "salerid");
            return (Criteria) this;
        }

        public Criteria andSalernameIsNull() {
            addCriterion("SalerName is null");
            return (Criteria) this;
        }

        public Criteria andSalernameIsNotNull() {
            addCriterion("SalerName is not null");
            return (Criteria) this;
        }

        public Criteria andSalernameEqualTo(String value) {
            addCriterion("SalerName =", value, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameNotEqualTo(String value) {
            addCriterion("SalerName <>", value, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameGreaterThan(String value) {
            addCriterion("SalerName >", value, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameGreaterThanOrEqualTo(String value) {
            addCriterion("SalerName >=", value, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameLessThan(String value) {
            addCriterion("SalerName <", value, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameLessThanOrEqualTo(String value) {
            addCriterion("SalerName <=", value, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameLike(String value) {
            addCriterion("SalerName like", value, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameNotLike(String value) {
            addCriterion("SalerName not like", value, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameIn(List<String> values) {
            addCriterion("SalerName in", values, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameNotIn(List<String> values) {
            addCriterion("SalerName not in", values, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameBetween(String value1, String value2) {
            addCriterion("SalerName between", value1, value2, "salername");
            return (Criteria) this;
        }

        public Criteria andSalernameNotBetween(String value1, String value2) {
            addCriterion("SalerName not between", value1, value2, "salername");
            return (Criteria) this;
        }

        public Criteria andBalanceidIsNull() {
            addCriterion("BalanceID is null");
            return (Criteria) this;
        }

        public Criteria andBalanceidIsNotNull() {
            addCriterion("BalanceID is not null");
            return (Criteria) this;
        }

        public Criteria andBalanceidEqualTo(Integer value) {
            addCriterion("BalanceID =", value, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidNotEqualTo(Integer value) {
            addCriterion("BalanceID <>", value, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidGreaterThan(Integer value) {
            addCriterion("BalanceID >", value, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidGreaterThanOrEqualTo(Integer value) {
            addCriterion("BalanceID >=", value, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidLessThan(Integer value) {
            addCriterion("BalanceID <", value, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidLessThanOrEqualTo(Integer value) {
            addCriterion("BalanceID <=", value, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidIn(List<Integer> values) {
            addCriterion("BalanceID in", values, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidNotIn(List<Integer> values) {
            addCriterion("BalanceID not in", values, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidBetween(Integer value1, Integer value2) {
            addCriterion("BalanceID between", value1, value2, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalanceidNotBetween(Integer value1, Integer value2) {
            addCriterion("BalanceID not between", value1, value2, "balanceid");
            return (Criteria) this;
        }

        public Criteria andBalancecodeIsNull() {
            addCriterion("BalanceCode is null");
            return (Criteria) this;
        }

        public Criteria andBalancecodeIsNotNull() {
            addCriterion("BalanceCode is not null");
            return (Criteria) this;
        }

        public Criteria andBalancecodeEqualTo(String value) {
            addCriterion("BalanceCode =", value, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeNotEqualTo(String value) {
            addCriterion("BalanceCode <>", value, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeGreaterThan(String value) {
            addCriterion("BalanceCode >", value, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeGreaterThanOrEqualTo(String value) {
            addCriterion("BalanceCode >=", value, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeLessThan(String value) {
            addCriterion("BalanceCode <", value, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeLessThanOrEqualTo(String value) {
            addCriterion("BalanceCode <=", value, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeLike(String value) {
            addCriterion("BalanceCode like", value, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeNotLike(String value) {
            addCriterion("BalanceCode not like", value, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeIn(List<String> values) {
            addCriterion("BalanceCode in", values, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeNotIn(List<String> values) {
            addCriterion("BalanceCode not in", values, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeBetween(String value1, String value2) {
            addCriterion("BalanceCode between", value1, value2, "balancecode");
            return (Criteria) this;
        }

        public Criteria andBalancecodeNotBetween(String value1, String value2) {
            addCriterion("BalanceCode not between", value1, value2, "balancecode");
            return (Criteria) this;
        }

        public Criteria andProcpriceIsNull() {
            addCriterion("ProcPrice is null");
            return (Criteria) this;
        }

        public Criteria andProcpriceIsNotNull() {
            addCriterion("ProcPrice is not null");
            return (Criteria) this;
        }

        public Criteria andProcpriceEqualTo(Float value) {
            addCriterion("ProcPrice =", value, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceNotEqualTo(Float value) {
            addCriterion("ProcPrice <>", value, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceGreaterThan(Float value) {
            addCriterion("ProcPrice >", value, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceGreaterThanOrEqualTo(Float value) {
            addCriterion("ProcPrice >=", value, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceLessThan(Float value) {
            addCriterion("ProcPrice <", value, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceLessThanOrEqualTo(Float value) {
            addCriterion("ProcPrice <=", value, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceIn(List<Float> values) {
            addCriterion("ProcPrice in", values, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceNotIn(List<Float> values) {
            addCriterion("ProcPrice not in", values, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceBetween(Float value1, Float value2) {
            addCriterion("ProcPrice between", value1, value2, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcpriceNotBetween(Float value1, Float value2) {
            addCriterion("ProcPrice not between", value1, value2, "procprice");
            return (Criteria) this;
        }

        public Criteria andProcunitIsNull() {
            addCriterion("ProcUnit is null");
            return (Criteria) this;
        }

        public Criteria andProcunitIsNotNull() {
            addCriterion("ProcUnit is not null");
            return (Criteria) this;
        }

        public Criteria andProcunitEqualTo(String value) {
            addCriterion("ProcUnit =", value, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitNotEqualTo(String value) {
            addCriterion("ProcUnit <>", value, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitGreaterThan(String value) {
            addCriterion("ProcUnit >", value, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitGreaterThanOrEqualTo(String value) {
            addCriterion("ProcUnit >=", value, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitLessThan(String value) {
            addCriterion("ProcUnit <", value, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitLessThanOrEqualTo(String value) {
            addCriterion("ProcUnit <=", value, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitLike(String value) {
            addCriterion("ProcUnit like", value, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitNotLike(String value) {
            addCriterion("ProcUnit not like", value, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitIn(List<String> values) {
            addCriterion("ProcUnit in", values, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitNotIn(List<String> values) {
            addCriterion("ProcUnit not in", values, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitBetween(String value1, String value2) {
            addCriterion("ProcUnit between", value1, value2, "procunit");
            return (Criteria) this;
        }

        public Criteria andProcunitNotBetween(String value1, String value2) {
            addCriterion("ProcUnit not between", value1, value2, "procunit");
            return (Criteria) this;
        }

        public Criteria andProccountIsNull() {
            addCriterion("ProcCount is null");
            return (Criteria) this;
        }

        public Criteria andProccountIsNotNull() {
            addCriterion("ProcCount is not null");
            return (Criteria) this;
        }

        public Criteria andProccountEqualTo(Float value) {
            addCriterion("ProcCount =", value, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountNotEqualTo(Float value) {
            addCriterion("ProcCount <>", value, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountGreaterThan(Float value) {
            addCriterion("ProcCount >", value, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountGreaterThanOrEqualTo(Float value) {
            addCriterion("ProcCount >=", value, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountLessThan(Float value) {
            addCriterion("ProcCount <", value, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountLessThanOrEqualTo(Float value) {
            addCriterion("ProcCount <=", value, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountIn(List<Float> values) {
            addCriterion("ProcCount in", values, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountNotIn(List<Float> values) {
            addCriterion("ProcCount not in", values, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountBetween(Float value1, Float value2) {
            addCriterion("ProcCount between", value1, value2, "proccount");
            return (Criteria) this;
        }

        public Criteria andProccountNotBetween(Float value1, Float value2) {
            addCriterion("ProcCount not between", value1, value2, "proccount");
            return (Criteria) this;
        }

        public Criteria andProcamountIsNull() {
            addCriterion("ProcAmount is null");
            return (Criteria) this;
        }

        public Criteria andProcamountIsNotNull() {
            addCriterion("ProcAmount is not null");
            return (Criteria) this;
        }

        public Criteria andProcamountEqualTo(Float value) {
            addCriterion("ProcAmount =", value, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountNotEqualTo(Float value) {
            addCriterion("ProcAmount <>", value, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountGreaterThan(Float value) {
            addCriterion("ProcAmount >", value, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountGreaterThanOrEqualTo(Float value) {
            addCriterion("ProcAmount >=", value, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountLessThan(Float value) {
            addCriterion("ProcAmount <", value, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountLessThanOrEqualTo(Float value) {
            addCriterion("ProcAmount <=", value, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountIn(List<Float> values) {
            addCriterion("ProcAmount in", values, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountNotIn(List<Float> values) {
            addCriterion("ProcAmount not in", values, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountBetween(Float value1, Float value2) {
            addCriterion("ProcAmount between", value1, value2, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcamountNotBetween(Float value1, Float value2) {
            addCriterion("ProcAmount not between", value1, value2, "procamount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountIsNull() {
            addCriterion("ProcDiscount is null");
            return (Criteria) this;
        }

        public Criteria andProcdiscountIsNotNull() {
            addCriterion("ProcDiscount is not null");
            return (Criteria) this;
        }

        public Criteria andProcdiscountEqualTo(Float value) {
            addCriterion("ProcDiscount =", value, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountNotEqualTo(Float value) {
            addCriterion("ProcDiscount <>", value, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountGreaterThan(Float value) {
            addCriterion("ProcDiscount >", value, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountGreaterThanOrEqualTo(Float value) {
            addCriterion("ProcDiscount >=", value, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountLessThan(Float value) {
            addCriterion("ProcDiscount <", value, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountLessThanOrEqualTo(Float value) {
            addCriterion("ProcDiscount <=", value, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountIn(List<Float> values) {
            addCriterion("ProcDiscount in", values, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountNotIn(List<Float> values) {
            addCriterion("ProcDiscount not in", values, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountBetween(Float value1, Float value2) {
            addCriterion("ProcDiscount between", value1, value2, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andProcdiscountNotBetween(Float value1, Float value2) {
            addCriterion("ProcDiscount not between", value1, value2, "procdiscount");
            return (Criteria) this;
        }

        public Criteria andSellpriceIsNull() {
            addCriterion("SellPrice is null");
            return (Criteria) this;
        }

        public Criteria andSellpriceIsNotNull() {
            addCriterion("SellPrice is not null");
            return (Criteria) this;
        }

        public Criteria andSellpriceEqualTo(Float value) {
            addCriterion("SellPrice =", value, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceNotEqualTo(Float value) {
            addCriterion("SellPrice <>", value, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceGreaterThan(Float value) {
            addCriterion("SellPrice >", value, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceGreaterThanOrEqualTo(Float value) {
            addCriterion("SellPrice >=", value, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceLessThan(Float value) {
            addCriterion("SellPrice <", value, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceLessThanOrEqualTo(Float value) {
            addCriterion("SellPrice <=", value, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceIn(List<Float> values) {
            addCriterion("SellPrice in", values, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceNotIn(List<Float> values) {
            addCriterion("SellPrice not in", values, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceBetween(Float value1, Float value2) {
            addCriterion("SellPrice between", value1, value2, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSellpriceNotBetween(Float value1, Float value2) {
            addCriterion("SellPrice not between", value1, value2, "sellprice");
            return (Criteria) this;
        }

        public Criteria andSelledtimeIsNull() {
            addCriterion("SelledTime is null");
            return (Criteria) this;
        }

        public Criteria andSelledtimeIsNotNull() {
            addCriterion("SelledTime is not null");
            return (Criteria) this;
        }

        public Criteria andSelledtimeEqualTo(Date value) {
            addCriterion("SelledTime =", value, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeNotEqualTo(Date value) {
            addCriterion("SelledTime <>", value, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeGreaterThan(Date value) {
            addCriterion("SelledTime >", value, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("SelledTime >=", value, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeLessThan(Date value) {
            addCriterion("SelledTime <", value, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeLessThanOrEqualTo(Date value) {
            addCriterion("SelledTime <=", value, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeIn(List<Date> values) {
            addCriterion("SelledTime in", values, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeNotIn(List<Date> values) {
            addCriterion("SelledTime not in", values, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeBetween(Date value1, Date value2) {
            addCriterion("SelledTime between", value1, value2, "selledtime");
            return (Criteria) this;
        }

        public Criteria andSelledtimeNotBetween(Date value1, Date value2) {
            addCriterion("SelledTime not between", value1, value2, "selledtime");
            return (Criteria) this;
        }

        public Criteria andProductnameIsNull() {
            addCriterion("ProductName is null");
            return (Criteria) this;
        }

        public Criteria andProductnameIsNotNull() {
            addCriterion("ProductName is not null");
            return (Criteria) this;
        }

        public Criteria andProductnameEqualTo(String value) {
            addCriterion("ProductName =", value, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameNotEqualTo(String value) {
            addCriterion("ProductName <>", value, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameGreaterThan(String value) {
            addCriterion("ProductName >", value, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameGreaterThanOrEqualTo(String value) {
            addCriterion("ProductName >=", value, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameLessThan(String value) {
            addCriterion("ProductName <", value, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameLessThanOrEqualTo(String value) {
            addCriterion("ProductName <=", value, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameLike(String value) {
            addCriterion("ProductName like", value, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameNotLike(String value) {
            addCriterion("ProductName not like", value, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameIn(List<String> values) {
            addCriterion("ProductName in", values, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameNotIn(List<String> values) {
            addCriterion("ProductName not in", values, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameBetween(String value1, String value2) {
            addCriterion("ProductName between", value1, value2, "productname");
            return (Criteria) this;
        }

        public Criteria andProductnameNotBetween(String value1, String value2) {
            addCriterion("ProductName not between", value1, value2, "productname");
            return (Criteria) this;
        }

        public Criteria andImagesrcIsNull() {
            addCriterion("ImageSrc is null");
            return (Criteria) this;
        }

        public Criteria andImagesrcIsNotNull() {
            addCriterion("ImageSrc is not null");
            return (Criteria) this;
        }

        public Criteria andImagesrcEqualTo(String value) {
            addCriterion("ImageSrc =", value, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcNotEqualTo(String value) {
            addCriterion("ImageSrc <>", value, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcGreaterThan(String value) {
            addCriterion("ImageSrc >", value, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcGreaterThanOrEqualTo(String value) {
            addCriterion("ImageSrc >=", value, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcLessThan(String value) {
            addCriterion("ImageSrc <", value, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcLessThanOrEqualTo(String value) {
            addCriterion("ImageSrc <=", value, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcLike(String value) {
            addCriterion("ImageSrc like", value, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcNotLike(String value) {
            addCriterion("ImageSrc not like", value, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcIn(List<String> values) {
            addCriterion("ImageSrc in", values, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcNotIn(List<String> values) {
            addCriterion("ImageSrc not in", values, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcBetween(String value1, String value2) {
            addCriterion("ImageSrc between", value1, value2, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andImagesrcNotBetween(String value1, String value2) {
            addCriterion("ImageSrc not between", value1, value2, "imagesrc");
            return (Criteria) this;
        }

        public Criteria andProdescIsNull() {
            addCriterion("ProDesc is null");
            return (Criteria) this;
        }

        public Criteria andProdescIsNotNull() {
            addCriterion("ProDesc is not null");
            return (Criteria) this;
        }

        public Criteria andProdescEqualTo(String value) {
            addCriterion("ProDesc =", value, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescNotEqualTo(String value) {
            addCriterion("ProDesc <>", value, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescGreaterThan(String value) {
            addCriterion("ProDesc >", value, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescGreaterThanOrEqualTo(String value) {
            addCriterion("ProDesc >=", value, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescLessThan(String value) {
            addCriterion("ProDesc <", value, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescLessThanOrEqualTo(String value) {
            addCriterion("ProDesc <=", value, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescLike(String value) {
            addCriterion("ProDesc like", value, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescNotLike(String value) {
            addCriterion("ProDesc not like", value, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescIn(List<String> values) {
            addCriterion("ProDesc in", values, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescNotIn(List<String> values) {
            addCriterion("ProDesc not in", values, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescBetween(String value1, String value2) {
            addCriterion("ProDesc between", value1, value2, "prodesc");
            return (Criteria) this;
        }

        public Criteria andProdescNotBetween(String value1, String value2) {
            addCriterion("ProDesc not between", value1, value2, "prodesc");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}